import Vue from 'vue'
import Vuex from 'vuex'
import app from './modules/app.js'
import user from './modules/user.js'
Vue.use(Vuex)

export default new Vuex.Store({
    state: {
        // 仓库
    },
    getters: {
        // 数据计算
    },
    mutations: {
        // 同步操作
    },
    actions: {
        // 异步操作，actions中不能直接更改状态，通过提交mutation来实现操作
        loginOut({
            commit,
            state
        }, param) {
            commit("cleanUserInfo"); //清除用户信息
            commit("cleanToken"); //清除token
            commit('cleanLogin')
            console.log("退出登录");
            let ua = navigator.userAgent.toLowerCase()
            if (ua.match(/MicroMessenger/i) == 'micromessenger') {
                // 微信环境
                WeixinJSBridge.call('closeWindow');
            } else {
                // 非微信环境
                window.opener = null;
                window.open("about:blank", "_top").close()
            }
            // commit("cleanNowRouter"); //清除路由历史
            // commit("cleanRouterHistory"); //清除路由历史
        }
    },
    modules: {
        // 模块化区分，每个子模块拥有完整的state、mutation、action、getter
        app,
        user,
    }
})
